
import os
from typing import Optional

conf_dict = {}


def conf_loader(key, default):
    '''
    配置加载器， 优先从环境变量中加载
    仅接受字符串类型
    '''
    return env_loader(key) or default


def env_loader(key) -> Optional[str]:
    '''
    从环境变量中加载
    '''
    return os.environ[key] if key in os.environ else None


def parse_args(key, default, parse_type=str):
    '''
    配置
    '''
    parse_result = conf_loader(key, default)
    if parse_type == int:
        return int(parse_result)
    if parse_type == bool:
        return True if str(parse_result).upper() == "TRUE" else False
    return str(parse_result)
